PICTURETHIS(TM) "SHAREWARE" VERSION RELEASE 4.00 DECEMBER 31, 1991 USER MANUAL, PART 7 OF 7 PARTS Copyright 1988, 1989, 1990, 1991 by Patricia Y. Williams and Gregory Williams, All Rights Reserved. HortIdeas Publishing, 460 Black Lick Road, Gravel Switch, KY 40328 U.S.A. 26. TEMPLATES Captured CGA, EGA, and VGA graphics screens can be brought into PictureThis to use as templates for tracing. These templates are read into PictureThis as described in Section 19.5. 26.1. CAPTURING SCREENS FOR USE AS TEMPLATES The CaptureThis program supplied with PictureThis (CAPTHIS.COM) is a memory-resident ("TSR") utility which allows most CGA, EGA, and VGA graphics mode screens to be saved in files which then can be loaded into PictureThis for use as drawing guides (templates). To be saved in a file by CaptureThis, a screen must be in the medium-resolution CGA graphics mode (320 x 200 pixels), the high-resolution CGA graphics mode (640 x 200 pixels), EGA graphics mode (640 x 350 pixels), or VGA graphics mode (640 x 480 pixels), and the Print Screen function (normally accessed by simultaneously pressing the Shift key and the PrtSc key next to the numeric keypad) must be operational (a few programs disable this function, preventing the capture of their screens). CaptureThis occasionally conflicts with some other memory resident programs; if you have problems with CaptureThis when using such programs (installed either before or after CaptureThis has been installed), remove the programs and try again with ONLY CaptureThis installed as a "TSR"; some experimenting is necessary to determine which memory resident programs can be used with CaptureThis on your computer (and to determine when CaptureThis should be installed relative to their installations -- before or after). SPECIAL NOTE: YOU SHOULD CONSIDER THE ETHICAL AND LEGAL IMPLICATIONS OF CAPTURING SCREENS SHOWING COPYRIGHTED MATERIALS, INCLUDING SOME SCANNED IMAGES; CONSULT AN ATTORNEY FOR MORE INFORMATION ABOUT COPYRIGHT LAWS. To capture a CGA, EGA, or VGA graphics mode screen from a program, at the operating system prompt, with CAPTHIS.COM in the current directory, key in "CAPTHIS" and then press Enter. A brief message should appear to say that CaptureThis is installed, and the operating system prompt should return. If this doesn't happen, then either your copy of CAPTHIS.COM is defective, or your hardware and/or software isn't 98 compatible with CaptureThis. If you try to install CaptureThis again after it has already been installed, a message noting that the program is already in memory appears, and the operating system prompt returns. No facility is provided for removing CaptureThis from memory, once it has been installed. Assuming that CaptureThis is installed, do whatever is necessary to display a particular screen you want to capture for use as a PictureThis template. Typically, this involves running a graphics applications program. With the desired screen being displayed, press (simultaneously) Shift PrtSc. After these keys have been pressed, CaptureThis examines certain memory locations written by the BIOS to determine the current video mode. If, when you pressed Shift PrtSc, CaptureThis determined the current video mode as an allowable graphics mode, a message appears at the top of the screen ("Perform Screen Capture? (Y/N)"/"ESC to exit"). Press Y to proceed with capturing the screen, or press N for a screen dump (CAUTION: your computer might hang up if the printer is turned off or disconnected; and GRAPHICS.COM, supplied with PC-DOS, or a similar memory-resident graphics printer driver program must have been loaded previously for a proper graphics screen dump), or press Esc to continue with the applications program WITHOUT saving or dumping the screen. Pressing any other key has no effect. If CaptureThis determines that the screen is not in an allowable graphics mode, a normal screen dump is performed. CAUTION: your computer might hang up if the printer is turned off or disconnected; for a proper graphics screen dump, you must have loaded an appropriate printer driver program previously. Assuming that you responded to the above message by pressing Y, the second line of instructions is replaced by "Filespec for save?" Key in the file name you want (with an extension and directory specification, if appropriate). Example template files included on the distribution disk have a ".TMP" extension, and we suggest that extension for your template files. Next, press Enter. Pressing Esc any time before pressing Enter exits from CaptureThis and restores the current screen. If a file with the specification you have just entered already exists, the second line of the message is replaced by "Overwrite [FILE NAME]? (Y/N)"; pressing Y causes the file to be saved; pressing Esc removes the instructions from the screen and allows you to proceed without capturing or printing the current screen; pressing any other key results in a prompt for a different file name (keyed in as described above). Wait until disk activity stops before proceeding. If the screen was captured successfully, the instructions are gone from the screen, and you can proceed as usual with the application program. If there was a problem with file operations, an error message appears; press any key to proceed without capturing or printing the current screen (of course, you can attempt to correct the cause of the problem, such as a full, bad, or write-protected disk, and then call up CaptureThis again by pressing Shift PrtSc). If CaptureThis doesn't work correctly with your computer or with particular programs, you should try the Alternate CaptureThis program (ACAPTHIS.COM) instead. Once installed, 99 this program doesn't require any keyboard input other than Shift PrtSc to capture CGA graphics mode screens, and thus works even with programs which "take over" the keyboard (unless they take over the Print Screen interrupt). To install Alternate CaptureThis, at the DOS prompt corresponding to the drive containing the disk with ACAPTHIS.COM, key in "ACAPTHIS" and then press ENTER. A message noting that Alternate CaptureThis has been installed should appear, and the DOS prompt should return. Any time after Alternate CaptureThis has been installed, you can capture a CGA, EGA, or VGA graphics screen simply by pressing Shift PrtSc. If Alternate CaptureThis determines (from your computer's BIOS) that the current video mode is NOT an allowable graphics mode, it performs a normal screen dump to a printer. CAUTION: If a printer is not connected, or if it is turned off, your computer might hang up; for a graphics screen dump, you must have installed a memory- resident graphics printer driver program appropriate for the graphics mode PRIOR to installing Alternate CaptureThis. If, according to the BIOS, the current video mode IS an allowable graphics mode, Alternate CaptureThis captures the screen in a file named "A0.TMP" (in the current directory). Subsequently captured screens are saved in files having the following sequence of names: A1.TMP, ..., A9.TMP, B0.TMP, ..., B9.TMP, ..., C0.TMP, ... CAUTION: Each time ACAPTHIS is installed it will save screens in files (beginning with A0.TMP) WRITING OVER ANY EXISTING FILES IN THE CURRENT DIRECTORY WITH THE SAME NAMES WITHOUT WARNING -- so after saving a series of files with ACAPTHIS, you should rename them before installing ACAPTHIS again, to guard against overwriting, and to provide more descriptive names. Each template file written by CaptureThis or Alternate CaptureThis for CGA screens has a length of 16192 bytes. Template files for EGA and VGA screens are compressed, so the size will vary with the complexity of the screen. When imported into PictureThis (see Section 19.5), pixels in the template which are the color of the cursor and curves on the PictureThis drawing screen are changed to an alternate color so that the cursor and curves drawn with PictureThis will always show up. Color remappings are performed automatically; these mappings were chosen to preserve as much fidelity to the original applications program screens as possible. 26.2. MOVING THE TEMPLATE When a template is read into PictureThis, it is placed in the middle of entire drawing screen. If you want to move the template to use it for tracing on a different part of the screen, WHILE AT THE 100% SCREEN, press F9 to access the miscellaneous menu, then press T. The state changes to "TMPMOV." Move the cursor to the position on the template which you wish to move (the start point); press F1. Now move the cursor (a dotted line follows) to the point to which you want to move the start point; press F3. The template moves, and the state returns to "FREE." Press Esc to back out of the operation. 27. DRAWING HINTS 100 This section contains several "hints" to make drawing with PictureThis easier and to produce better results. 27.1. JOINING CURVES AT ENDPOINTS ONLY This is an important rule when using PictureThis! Because the screen resolution is much lower than prints made by laser printers and imagesetters, a curve which "looks like" it joins another curve on the drawing screen might NOT join it at all or might cross the other curve on the printed output. Moreover, the results will be different for different PostScript-compatible output devices, depending on their resolution. IF A CURVE NEEDS TO JOIN A PREVIOUSLY DRAWN CURVE PRECISELY AT A POINT NOT ALREADY AN ENDPOINT, YOU SHOULD CUT THE PREVIOUSLY DRAWN CURVE TO MAKE A NEW ENDPOINT. 27.2. USING THE Del KEY TO MOVE TO ENDPOINTS It is necessary to be EXACTLY on an endpoint to join curves PRECISELY. The best way to do this is to use the Del key on the numeric keypad. Moving the cursor with the numeric keypad number keys to what APPEARS to be an endpoint will NOT necessarily result in the cursor being on the endpoint. (On the 50% screen in CGA mode 2304 internal-unit points show as the same point on the drawing screen!) 27.3. SMOOTHER SMOOTHING Smoothed curves might appear "smoother" if, during smoothing, you move the control points AS FAR AS POSSIBLE out along the tangent lines away from their associated endpoints. This effect is because of rounding during calculations. 27.4. JOINING CURVES WITH DIFFERENT LINE WEIGHTS When joining curves with different line weights at a common endpoint, the results can appear "sloppy" on the hard-copy output. This is because the PostScript language allows "neat" joining of curves only if they have the same line weight (see Section 14.4.3). The best general advice we can give for avoiding "sloppiness" when joining curves is to keep the line weights of the curves nearly the same, and to connect LARGER line weight curves as the cross-members at "T" intersections, as shown below. O.K. NO! ___________________ ___________________ | \ | \ | WIDE | NARROW | | |--NARROW |--WIDE | | 27.5. DOING DETAILED WORK ON HIGH MAGNIFICATION SCREENS For detailed work, it is best to use the 300%, 600%, 1200%, or 2400% screens. You can see what you are doing on any of these screens better than on the 100% screen, and 101 endpoints can be positioned more precisely at high magnifications. Occasionally, it is useful to establish endpoint locations on a high magnification screen before drawing a curve on the 100% screen. This can be done by noting points for each endpoint while at high magnification, then using the resulting noted points to draw the curve on the 100% screen. 27.6. DOING FINE WORK ON A LARGE SCALE AND THEN SCALING DOWN To draw EXTREMELY fine work, you can make a drawing at a large scale and then reduce it by scaling it down. The scaled-down object might not look perfect on the drawing screen, but it should look fine on the PostScript output. 27.7. DRAWING AN OVAL WITH SIDE ENDPOINTS AT SPECIFIC POSITIONS Normally, an oval (or circle) is drawn by first specifying the center of the oval. You can set the side endpoints of the oval to be in specific positions (say at specific endpoints), by using measuring (see Section 23.2). First change the units to pixels (temporarily) for exact measurements (see Section 20.1) First move the cursor to one of the desired endpoints and remember its position (from the current position box). Then press M, move the cursor horizontally to the opposite desired endpoint, and press F3. Then key in "50" and press Enter to move the cursor to the center of the oval. Press "O" to start drawing the oval as usual. Move the cursor along the guideline to the first remembered endpoint. (You cannot press Del to get to the endpoint, because the cursor is restrained to the guidelines.) Then complete the oval. 27.8 ROUNDING CORNERS To change a corner with two lines meeting at ANY angle to a rounded corner (for example, to make a box with rounded corners), cut each of the two lines at the point at which you want the rounding to start (see Section 11). Then draw a curve with an endpoint at each cut position and ONE control point at the intersection of the two lines (the other control point should not be moved off the endpoint). This creates a smoothly rounded corner, even if the cut positions were not equidistant from the corner. Erase the lines from the cut position to the original corner (see Section 12.1). 27.9 CHECKING FOR WIDE SPACING WHEN FULLY JUSTIFYING When a text line is fully justified, extra space is inserted between each word to make the line extend all the way to the right margin. If hyphenation is turned off or if PictureThis cannot find a hyphenation point in the first word in the following line, the added space can be quite large, and look unattractive. The easiest way to find lines with large spaces between words is to greek the text by pressing J. Any lines with large spaces will stand out. If you want to correct such lines, cut the text back to the editor, and change the wording or insert a HARD-HYPHEN. While in the editor, you can check for lines with large 102 spaces by going to the end of each line and looking at the Width Remaining (WR) indicator in the status line. If any lines have considerably more width remaining than most lines, they will have large spaces. If hyphenation has been turned off, you will have many more lines with larger spaces than you will otherwise. 27.10 MAKING A TEXT LINE FIT WITH TRACK KERNING Occasionally, you will find a text line that almost but not quite fits within the margin. If you do not want this line to be broken, you can insert a track kerning typesetting code with a small negative unit value (e.g., ) at the beginning of the text line and then compose (F3). You may have to try various negative numbers, until you find one that will work. 27.11 USING PAIRWISE KERNING Do not use pairwise kerning with small text; it does not improve the appearance of small text noticably. Pairwise kerning can make large text look better, so it can and should be used with large text. 28. KARTOONS MODE All work and no play makes for dull graphic artists, and so we've included this "fun" mode in PictureThis. But it isn't ONLY for play: you can learn a lot about the program's features and how to use them by 'tooning around! When in the "FREE" state, press K and respond appropriately to subsequent prompts to enter Kartoons mode. In this mode, you can cycle through, modify, and save cartoon faces composed of parts (such as eyes and noses), each part associated with one of nine blocks (corresponding to forehead, left and right ears, chin, left and right eyebrows, left and right eyes, and nose). Files for several parts and faces (collections of particular parts) are provided in the \KARTOON directory on one of the distribution disks. Part files are named !FOREHD.NNN, !LEAR.NNN, !REAR.NNN, !CHIN.NNN, !LBROW.NNN, !RBROW.NNN, !LEYE.NNN, !REYE.NNN, and !NOSE.NNN, where NNN = 1 to 999; the format of each of these files is that of a standard clip art file. Face files are named *.FAC. To quit Kartoons mode and return to normal drawing mode, press C and respond appropriately to the prompts. In Kartoons mode, most PictureThis operations work normally. Those which don't are noted below. Special Kartoons-mode keys include the following: K (mnemonic: "khoose") cycles through the nine blocks, showing each in turn. After pressing K, you also can use + (same as Space) to cycle "forward" and - to cycle "backward." Enter selects (stops at) a block; any other key stops at a block and continues with the operation corresponding to that key. U (mnemonic: "use") cycles through parts (having files in the current part directory, which you might have been prompted to enter) associated with the currently selected block. After pressing U, you also can use + (same as Space) to cycle "forward" and - to cycle "backward." The order of 103 cycling is based on the file extension numbers, relative to the file extension number of the current part. Enter selects (stops at) a part; any other key stops at a part and continues with the operation corresponding to that key. Y (mnemonic: "yes save") saves an object as a part file associated with the currently selected block. The procedure is the same as for saving clip art files, with successive objects dashed for choosing, except that there is no prompt for a file name. Part files are named automatically, based on their associated block at the time of saving; extension numbers are assigned in consecutive order. The file menu (accessed as usual by pressing F10) has no "GetDRW" in Kartoons mode; instead, there is "GetFAC." And the menu also has "PutFac." Each face file (saved by pressing P at the file menu and then keying in a name; retrieved by pressing G at the file menu, etc.) consists of a set of nine numbers which correspond to the extensions of the files for parts of that face. (When accessed with the view or Quickshow screen showing, the file menu shows only "SavDRW"; you can read or write a face file only with the drawing screen showing.) Note: if you make many changes to parts of a face, the program memory can become full. If you see a message saying that the memory is almost full, quit Kartoons mode by pressing C, then reenter Kartoons mode by pressing K. The excess memory is released, and the face reappears AS YOU LEFT IT. 29. CONVERTING A WORD PROCESSOR FILE Text can be prepared for a PictureThis drawing entirely in the editor, but you might want to typeset text which was previously prepared in a word processor. In Section 18.5.2.10, you learned how to import an ASCII file into the PictureThis editor. If you import a file directly from a word processor into the PictureThis editor, you will have usable, but not necessarily ideal, text. The editor IGNORES any Ctrl characters which it does not use (such as a linefeed) and replaces RETURNS with its own END-OF-PARAGRAPH character (down-arrow). This is fine in some cases, but not in others. Various word processors use different methods to mark special occurrences (e.g., indents, page breaks) in their files. In particular, each word processor has a special method to distinguish between HARD-RETURNS (returns which the user enters) and SOFT-RETURNS (returns which the word processor inserts when it decides that a line needs to be wrapped). A typical method is to use a SPACE followed by a CR for a SOFT-RETURN and just a CR for a HARD-RETURN. For typical text imported into the PictureThis editor, you want the SOFT-RETURNS to turn into just a SPACE and the HARD- RETURNS to turn into just a CR, since you are reformatting the text into a different margin. To solve this problem and other similar problems, you can run the word-processor prepared file through the program CONVERT before you import it into PictureThis. CONVERT is a standalone text replacement program useful whenever you need to modify an ASCII file. It uses convert instruction files (we recommend using the extension .CVT), consisting of comments and search/replace pairs. We have 104 prepared a standard convert instruction file (STANDARD.CVT) which is useful with many word processor files. To run CONVERT, simply type CONVERT at the command line. You are first asked for the name of the ASCII file you want to convert. Type in its name (with path if necessary) and press ENTER. You are then asked for the name of the file you want to write. Type it in and press ENTER. You are asked for the name of the conversion instruction file (e.g., STANDARD.CVT). Type it in and press ENTER. You are asked if you want to replace all multiple spaces with single spaces. (This is preferable for most typesetting. When most people type, they place two spaces at the end of each sentence. This is usually NOT done when typesetting text, so it is desirable to get rid of the multiple spaces. There are occasions when it is not desirable to get rid of multiple spaces; for instance, if you are typesetting computer code, the multiple spaces at the beginning of each line give the code "structure" which you want to maintain.) If you want to change multiple spaces to single spaces, press Y, otherwise press any other key. Finally you are asked if you want to strip the high-order bits of each character. WORDSTAR and some other word processors mark certain characters by adding a high-order bit to the character (equivalent to adding 128 to the character's ASCII value). For files from these word processors, press Y; the high-order bits are stripped off. (In general, this usually won't harm text prepared by non- WORDSTAR-like word processors.) CONVERT then reads the first 10000 characters of your Ascii file (or the whole file, if it is shorter than 10000 characters). It performs the first search/replace command in the chosen convert instruction file on the entire read portion of the file. Then it performs the second search/replace command on the results of the first command. It continues until it performs all of the search/replace commands in the chosen convert instruction file, then it writes the resulting portion of the file. It then reads the next 10000 characters of the ASCII file and repeats the process on this portion of the file. It continues to read and process portions of the ASCII file until it has processed all of it. Since CONVERT processes portions of the Ascii file separately (so that it can handle any size file), it is possible that at a break between portions, a search/replace command is incorrectly processed. CONVERT attempts to correct such errors, but it is still possible (though unlikely) that such an error could occur. If there is a possible error at any break point, CONVERT informs you where the error might occur. Even if CONVERT warns you of such a possible error, it is not likely that such an error actually occurred, and you probably can ignore the warning. If such an error occurred, you would probably notice it in the process of normal proofreading. To make a convert instruction file, use a text editor or word processor. You do not want any special control codes, etc. in your convert file, so save the file as an ASCII file or non-document file. Or you can use the PictureThis editor to make a convert instruction file. Here are the rules: No line can be longer than 80 characters. Any line starting in column 1 with a SEMICOLON (;) is 105 considered a comment and ignored. Any line consisting only of a CARRIAGE RETURN is ignored. A search line is any other line, and is immediately followed by a replace line (no comments or empty lines are allowed between search and replace lines). Any keyboard character except '=' or ';' (d,G,8,*, etc.) can be included in a search or a replace line, and represents itself. Special strings beginning with '=' can also be used, as described below. (In the table 'N' represents a single digit, 0 - 9.) Special Character Meaning =e or =E carriage return =l or =L line feed == equals sign =; semicolon =NNN the character represented by the ASCII value NNN; NNN must be less than 256 (e.g., =032 is the same as SPACE, and easier to read) =?N a wildcard character that matches any character =aN a wildcard character that matches any alphabetic character (a-z, A-Z) =#N a wildcard character that matches any digit (0-9) =.N a wildcard character that matches any punctuation character Examples of search lines: the dog will match 'the dog' =a3=#9 will match 'A1', 'j5', 'Q0' =?5"=032 will match 't" ', '?" ', '4" ' t=a1=.7g will match 'th,g', 'tD@g' When a match is found, it is replaced by what the replace line indicates. A normal character in a replace line produces that character. A wildcard character uses the character that was found to replace it in its position. Examples of search/replace pairs: the dog 'the dog' will be replaced by 'the cat' the cat =a3=#9 'A1' will be replaced by '1a'; 'j5' =#9=a3 will be replaced by '5j' =?5"=032 't" ' will be replaced by 't'' ' =?5''=032 =a1=#1=a2=#2 'b3c4' will be replaced by 'cb43'; =a2=a1=#2=#1 'A9Q8' will be replaced by 'QA89' 106 You cannot have a wildcard character in a replace line which does not appear in the corresponding search line. An equals sign followed by characters which are not in the previous list is also an illegal string. If an illegal search/replace pair is found, CONVERT aborts the conversion process. Examples of illegal search/replace pairs: =q4 a=q4 =?abc =?cba =32dog dog =a2cat=a4 =a1dog=a4 =456 ggg STANDARD.CVT includes search/replace pairs to do the following: Replace SPACE followed by CARRIAGE RETURN with a SPACE. (To get rid of some SOFT-RETURNS.) Replace DOUBLE-QUOTES with a pair of SINGLE-QUOTES. (This is normal typesetting practice.) Replace a TAB with 8 spaces. (If your word processor indents with TABs, you might want to change a TAB to no characters instead.) Replace a < with the special character used to start a typesetting code in the PictureThis editor. Replace a > with the special character used to end a typesetting code in the PictureThis editor. We don't know all of the ways word processors represent SOFT-RETURNS and other important codes. If STANDARD.CVT does not work properly with your word-processor files, you can modify it and/or add to it to make it work. Sometimes just writing the file out in ASCII mode might help. Try it! To find out how your word processor represents SOFT-RETURNS, write a short file in your word processor. Then look at the HEX version of it using any one of numerous utilities that exist. We'd use LOTUS MAGELLAN, but there are many more. Try to figure out what code your word processor is using for a SOFT-RETURN, and write a conversion instruction file to change it to a SPACE. 30. COMMAND LINE PARAMETERS/CONFIGURATION FILE When you install PictureThis, you must specify how many curves you want to allow for and what screen type you are 107 using. This information is saved in a configuration file in the default directory (called PICTHIS.CFG) and used each time you run PICTHIS4, so you don't have to type in configuration information when you subsequently run PictureThis unless you want to change it. The two command line parameters are, IN ORDER: 1. A letter (a-h or A-H). The letter indicates how many curves are to be allowed. An 'A' (or 'a') means 250 curves. Each succeeding letter adds 250 more curves, so: a = 250; b = 500; c = 750; d = 1000; e = 1250; f = 1500; g = 1750; h = 2000. The default is A. 2. A three letter indicator of the screen type: CGA, EGA, or VGA. If not specified, the default is CGA. (Case is ignored, so ega means the same as EGA.) The command line parameters must be specified in order, but you do not need to specify both of them. If you need to specify only the number of curves, just specify the first parameter. But if you need to change the screen type, you must specify the first two parameters. Examples of legal command lines: PICTHIS4 b ega PICTHIS4 A VGA picthis4 d picthis4 c EGA PictureThis saves in PICTHIS.CFG not only these command line parameters, but also the aspect ratio and the directories of the font files, the screen font files, and the Kartoon features files. When you install PictureThis, PICTHIS.CFG includes the directories of these files as installed. If you change the locations of these files, and PictureThis cannot find the needed file, it asks you for a new directory. After you type in this new directory, it is saved in PICTHIS.CFG, so you do not have to type in the directory every time you run PictureThis. 31. MEMORY MANAGEMENT PictureThis is a large and complex program which maintains a large amount of user generated data and thus uses a lot of computer memory. But it is still usable on a PC with only standard memory (640K). There is no need to have extended and/or expanded memory (though you can use them (see Section 32)). 31.1 MEMORY USAGE In addition to memory used by the program itself, and small amounts of memory used and then freed during various operations, five types of data use considerable memory: 1. Data used to define curves, endpoints, trails, and 108 objects. You must specify how many curves are allowed with a command line parameter (see Section 30). See Section 31.2 to determine how to handle this curve space. 2. Textblock data (all of the text, plus all of the information needed for placing the text in the proper position, with the proper font, size, etc.). The memory required for this depends on how much text is in a drawing. When a textblock is cut or deleted, much of the memory it used is freed, but a portion of it is NOT freed. If you cut and delete large textblocks frequently, you can build up a considerable amount of unusable memory. THIS MEMORY CAN BE FREED SIMPLY BY SAVING YOUR DRAWING AND THEN GETTING IT AGAIN. 3. Font information (character widths, kerning, etc.) for each font used and definitions of all characters for each screenfont used. 4. Background pixel color values for the drawing screen. When each curve is drawn, the previous color of each pixel in the curve is saved. This allows you to move or erase a curve (or a full object) without leaving "holes" in the background. (This is most obvious when you are using a template.) This information is saved in a highly compressed form used not only for redrawing the background when an element is erased, but also for dashing elements for selection (e.g., when choosing an object to copy). CGA mode uses less pixel memory than EGA mode, which uses somewhat less than VGA mode. Unfortunately, a page of small text uses a lot of pixel memory, sometimes more than is available. "Greeking" the text helps, but is sometimes undesirable. See Section 31.3 for a way to eliminate the pixel memory used for text. 5. A VGA template uses a portion of memory, only when a template is read into PictureThis, and only in VGA mode. If you no longer need a VGA template, you can free memory by saving your drawing, exiting PictureThis, and then restarting PictureThis. 31.2 CURVE SPACE Memory used to store curve, endpoint, and object definitions is determined each time that you start PictureThis by a command line parameter or by the PICTHIS.CFG configuration file. You can choose by command line parameters (see Section 30), how many curves you want to allow (proportional numbers of endpoints and objects are then allowed also). For a simple drawing or a mostly textual page choose A, the default. For more complex drawings, choose a higher setting. The memory allocated when the program starts is called "curve space." You can determine how close you are to the limits for curves, endpoints, and objects by checking the curve space used box, which is toggled on (ONLY when the viewscreen (V) is on) by pressing U. A box appears in the lower left corner of the viewscreen, showing how many curves, endpoints, and objects you have used, and how many are allowed. To toggle off the curve space used box, press U again. When the value 109 of any of these parameters (for curves, endpoints, or objects) reaches 90% of its maximum, a message appears at the top of the screen: "OVER 90% OF CURVE SPACE USED"/"Press any key to continue." This is just a warning, and you can proceed as usual. This message continues to appear with every subsequent curve added, unless conditions are changed. When the value of any of the parameters reaches 98% of its maximum, another message appears at the top of the screen: "CURVE SPACE FULL - SAVE DRAWING NOW"/"Press any key to continue." Subsequently, each time you add a curve, this message reappears. We recommend that you add NO MORE THAN A CURVE OR TWO after the "CURVE SPACE FULL" message appears for the first time, because if you run over the memory limits, memory is overwritten and program behavior can become UNPREDICTABLE! In short, you should SAVE YOUR DRAWING AS SOON AS POSSIBLE AFTER SEEING THE "CURVE SPACE FULL" MESSAGE. (Note that you may see these messages repeatedly while a object is being manipulated (moved, copied, etc.). Just keep pressing a key until the messages stop. PictureThis will NOT let you manipulate an object if there is not enough memory. However, save your drawing as soon as the copy is complete!) If the memory limits are approached for curves, endpoints or objects, saving the drawing and then retrieving the saved drawing file reduces the number of curves, endpoints, and/or objects, IF any were erased (or cut) during the drawing process. (Object manipulations can create large numbers of erased endpoints.) If you continue to have problems, restart PictureThis with a "higher" letter (for example, B instead of A). 31.3 TEXT BACKGROUND SAVE Text, especially a page full of small-point-size text uses a lot of pixel memory. There frequently isn't enough memory to display a full page of small text on the screen. To solve this problem, we have added the ability to turn off the background save FOR TEXT ONLY. To do this, press F9 to enter the Miscellaneous menu, and then press B. You can choose S for saving the text background or N for NOT saving the text background. With either selection, the program functions essentially the same. When NoSave is chosen, there are only minor differences: a. When any text is erased, a hole is left in the background. Press D to redraw and get rid of the hole. b. Where text is normally dashed-and-dotted (e.g., for grouping an object), it is dashed with NoSave. c. Dashing and erasing of text is slower. For normal drawing with only small amounts of text, use the Save option (the default). If you are doing a full page of text, it is probably preferable to use the NoSave option and/or to "greek" the text (on the drawing screen only). If you save a drawing, the current Save/NoSave option is saved with the drawing and is used when the drawing is imported. 31.4 INSUFFICIENT MEMORY ERROR MESSAGES 110 When you are setting text from the editor, you might see a message: NOT ENOUGH MEMORY FOR TEXT - SavDRW & GetDRW. Don't panic. Save your drawing. Import it again. Then go back into the editor and check whether you have placed an END-OF-TEXT marker (Ctrl Q) in the appropriate place (you might have been trying to set the contents of the entire editor, which could be much more than will fit on the page); if not, put one in. Press F5 to try setting the text again. If it doesn't work this time, you will have to "greek" the text on the drawing screen or switch to NoSave for text background. For any other "NOT ENOUGH MEMORY" error message, do some or all of the following (usually in the order specified): 1. Save your drawing and get it again without leaving PictureThis. 2. If you have a lot of text, "greek" the text by pressing J. 3. If you are in Kartoons mode, press C to exit Kartoons mode, then K to reenter Kartoons mode where you left it, but with extra memory available. 4. If you have a lot of text, switch to NoSave text Background save setting. 5. Save your drawing, exit PictureThis, and reenter it with a lower curve letter (e.g., B instead of F). 6. Exit PictureThis. At the DOS prompt type: SET RTVMCONV=0 Restart PictureThis. This causes PictureThis to use the least possible amount of memory for program execution, leaving more for data. This will only have an effect if you do not have extended or expanded memory that PictureThis can use for swapping. PictureThis will now need to swap parts of PICTHIS4.OVL from disk more frequently. This is fine if PICTHIS4.OVL is on a fast hard disk or a RAM disk, but could slow it down unacceptably if it is on a floppy. If the slowdown is unacceptable, reset it by typing (at the DOS prompt): SET RTVMCONV=25.% (Don't forget the period before the percent sign.) If the 0 setting has a desirable effect, you may want to place this line in your AUTOEXEC.BAT file or another batch file. (See your DOS manual.) See Section 32 for more information on program swapping. 7. One other step can be taken if you are under severe memory limitations: before you use the editor, and before you bring in any drawings or clip art containing text, press J one time. This prevents the screen fonts (which take considerable memory) from loading; unfortunately you then are unable to see the characters, even on the Quickshow screen. 111 32. OPTIMIZING OVERLAY SWAPPING To allow for more memory for data, the PictureThis program is contained in two files, PICTHIS4.EXE (the root section which is always loaded) and PICTHIS4.OVL (the overlay section, only parts of which are loaded at any time). Here's how the overlayed program works. PICTHIS4.EXE loads and looks for PICTHIS4.OVL. If it doesn't find PICTHIS4.OVL in the default directory, you'll be prompted to provide a path to it. As you use the program, parts of the overlay file are loaded into RAM from disk, as required. After a part has been loaded, it remains in RAM (no further disk accesses needed) unless it is displaced by another part loaded in (if there isn't enough room in RAM for both). If you have a reasonably fast hard drive, the "swapping" should be barely noticeable most of the time, but if you have a slow hard drive or only floppy drives, you can make the "swapping" of overlay parts instantaneous as follows: 1. If you have extended memory with an XMS v. 2 device driver loaded (typically called HIMEM.SYS, this comes with WINDOWS, DOS 5.0, and other software, and is also available from some BBS's; it must be installed as a device driver in your CONFIG.SYS file--see the instructions that come with it), or expanded memory (EMS 3.2+) hardware or software emulation, then the overlay parts are automatically cached in extended and/or expanded memory, respectively, and won't need to be read from disk the next time they are needed. (Of course, this assumes that you have enough free extended or expanded memory to store the parts.) NOTE: Some EMS emulators may not work correctly, since the overlay parts are not just cached in expanded memory, but actually run from it. 2. If you have extended memory, but no XMS v. 2 driver and no expanded memory, then you can set up a RAM disk (using DOS's VDISK or RAMDRIVE or a proprietary driver) and copy PICTHIS4.OVL to it BEFORE you load PictureThis. Make sure that there is NOT a copy of PICTHIS4.OVL in the directory from which you run PICTHIS4.EXE, or you won't be prompted for the path of the overlay. When prompted, give the drive designation for the ram drive containing PICTHIS4.OVL (most likely, D:). The RAM disk must be at least 234KB to hold PICTHIS4.OVL. You need to carry out the following steps: a. Put the device driver for the RAM disk in your CONFIG.SYS file (see your DOS manual). b. Rename PICTHIS4.OVL to PICTHIS4.OV in your PICTHIS4 directory (REN PICTHIS4.OVL PICTHIS4.OV). c. Copy PICTHIS4.OV in your PICTHIS4 directory to PICTHIS4.OVL in your RAM disk (COPY PICTHIS4.OV D:PICTHIS4.OVL). d. At the DOS prompt type: SET RTVMCONV=0. This reduces the amount of conventional memory used for overlays to the least possible amount and allows more room for data. e. Run PictureThis. If you want to do this all of the time, you should use a 112 batch file that carries out the last three steps. A sample batch file named PICTHS4B.BAT is included on the distribution disks (you may have to change it slightly). 3. If you only have floppies and no extended or expanded memory, you can set up a RAM disk (in "lower" -- 640KB -- memory) and put PICTHIS4.OVL there for quick swapping -- but you'll have less room for your drawing. As an alternative, there is a compressed version of PictureThis with program parts called PICTHS4C.EXE and PICTHS4C.OVL included on the distribution disks, which can be used to minimize the memory required (the RAM disk need only be 122KB), but swapping will be slower, since the overlay parts must be decompressed each time they are read from disk. If you do this regularly, you should use a batch file as in number 2 above, but modified to work with PICTHS4C. You will have to experiment to see which setup is the best for your individual situation. NOTE: If you are running PictureThis on a "slow" computer (PC or XT), you can gain quite a bit of speed, and also some pixel memory by switching to CGA mode (see Section 30). CGA mode doesn't look as good on the screen, but you can do everything in CGA mode that you can in the other modes, and the printed output has the same high resolution. 33. INCOMPATIBILITIES AND "BUGS" Please let us know about any problems you encounter with PictureThis and/or CaptureThis. In particular, we would like to know about incompatibilities with certain kinds of video boards so we can try to make the programs as widely useful as possible. Very few non-trivial programs are "bug"-free, and we expect users to find some "bugs" in PictureThis. In exchange for your "bug" report (assuming that you've found a real "bug"), we'll send you a free copy of the next Release, with the "bug" fixed. Also, we'd appreciate hearing your suggestions on how PictureThis might be improved. Thanks for helping us improve the performance of our programs! 113